/* przycisk ma 1 gdy nie wciśnięty i 0 gdy wciśnięty 
 * in(x) 
 * out(x)
 */

char licznik = 0;// char ma 8bit
przerwanie()
{
	licznik = 0xF0;
	out(licznik);
}

int main()
{
	int czekajPoprawneWcisniecie;
	int czekajPoprawneOdcisniecie;
	
	poprawnyWcisk:
		nierob1:
			no_nop();
			if( in(0)==1 )
				goto nierob1;
		czekajPoprawneWcisniecie=0;
		liczWcisk:
			czekajPoprawneWcisniecie++;
			if( in(0)==0 && czekajPoprawneWcisniecie<256 )
				goto liczWcisk;
		if( czekajPoprawneWcisniecie == 256 )
		{
			licznik=licznik+0x10;//bo licznik ma miec 4bit a char ma 8bit robimy dodawanie na wyzszej polowce
	 		out(licznik);
			poprawnyOdcisk:
				nierob2:
					no_nop();
					if( in(0)==0 )
						goto nierob2;
				czekajPoprawneOdcisniecie=0;
				liczOdcisk:
					czekajPoprawneOdcisniecie++;
	 			if( in(0)==1 && czekajPoprawneOdcisniecie < 256 )
					goto liczOdcisk;
				if( czekajPoprawneOdcisniecie!=256 )
					goto poprawnyOdcisk;
		}
		goto poprawnyWcisk;
}
